package com.qfedu.edu.seckill.config;

import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.Bean;

/**
 * @author xiaobobo
 * @title: RedissionConfig
 * @projectName cd-java-2404-seckill-parent
 * @description: 这个是咋们分布式锁的这个配置
 * @date 2025/2/11  9:33
 */
@SpringBootConfiguration
public class RedissionConfig {


    @Value("${redission.config.path}")
    public String path;

    /**
     * 当我们的对象在IOC容器中销毁的时候 就要调用shutdown
     *
     * @return
     */
    @Bean(destroyMethod = "shutdown")
    public RedissonClient redissonClient() {
        //申明配置
        Config config = new Config();
        //配置咋们的访问地址
        // Redission和 Jedis一样都属于 Redis的客户端产品   Redis和服务器交互使用的是什么协议? RESP
        config.useSingleServer().setAddress(path).setDatabase(0);
        return Redisson.create(config);
    }


}
